package com.boesch.electroOffice.dataaccess.dao;

import java.util.List;

import com.boesch.electroOffice.dataaccess.common.IllegalDataAccessException;
import com.boesch.electroOffice.model.electroOffice.Tool;

public interface ToolsHistoryDao {

	/**
	 * Creates a new ToolHistory object.
	 * Complete Javadoc
	 * 
	 * @param Tool toolHistory
	 * @return String returnValue
	 * @throws IllegalDataAccessException e
	 */
	public String createToolHistory(Tool tool) throws IllegalDataAccessException;

	/**
	 * Reads ToolHistory objects by its toolId from ToolH.
	 * Complete Javadoc
	 * 
	 * @param int toolId
	 * @return List<Tool> toolHistories
	 * @throws IllegalDataAccessException e
	 */
	public List<Tool> readToolHistoriesByToolId(int toolId) throws IllegalDataAccessException;

	/**
	 * Reads ToolHistory objects by its internalNumber.
	 * Complete Javadoc
	 * 
	 * @param String internalNumber
	 * @return Tool tool
	 * @throws IllegalDataAccessException e
	 */
	public List<Tool> readToolHistoriesByInternalNumber(String internalNumber) throws IllegalDataAccessException;

	/**
	 * Reads ToolHistory objects by its entity and identifier
	 * Complete Javadoc
	 * 
	 * @param String entity
	 * @param String identifier
	 * @return Tool tool
	 * @throws IllegalDataAccessException e
	 */
	public List<Tool> readToolHistoriesByEntityAndIdentifier(String entity, String identifier) throws IllegalDataAccessException;

}
